package com.example.exceldemo.util;

import org.springframework.context.annotation.Configuration;
import org.springframework.context.event.ContextRefreshedEvent;
import org.springframework.context.event.EventListener;
import lombok.extern.slf4j.Slf4j;

/**
 * 日志测试工具类
 * 用于验证日志配置是否正确
 */
@Slf4j
@Configuration
public class LogUtil {
    
    private static final String OS_NAME = System.getProperty("os.name").toLowerCase();
    
    /**
     * 应用启动后输出测试日志
     */
    @EventListener(ContextRefreshedEvent.class)
    public void testLogging() {
        log.info("==== 日志测试开始 ====");
        log.info("当前操作系统: {}", OS_NAME);
        
        if (OS_NAME.contains("linux") || OS_NAME.contains("unix")) {
            log.info("检测到Linux系统，日志应保存在: /home/root/docGen/logs 目录");
        } else {
            log.info("检测到非Linux系统，日志应保存在: {}/logs/docgen 目录", System.getProperty("user.home"));
        }
        
        log.debug("这是一条DEBUG级别的日志");
        log.info("这是一条INFO级别的日志");
        log.warn("这是一条WARN级别的日志");
        
        try {
            // 故意抛出异常，测试ERROR日志
            throw new RuntimeException("这是一个测试异常");
        } catch (Exception e) {
            log.error("这是一条ERROR级别的日志: {}", e.getMessage(), e);
        }
        
        log.info("==== 日志测试结束 ====");
    }
} 